module("datas",package.seeall)
  data={}
  _get_table_from_path=function(path,create)
    t=nil
    if path then
      paths=utils.split(path,"/")
      t=rawget(mt,"data")
      p=table.remove(paths,1)
      while t and p do
	if not rawget(t,p) and create then rawset(t,p,{}) end	
	t=rawget(t,p)
	p=table.remove(paths,1)
      end
    end
    return t
  end
  C=function(t,path)
  end
  R=function(t,path)
    v=_get_table_from_path(path)
    if v then return rawget(v,"") else return nil end
  end
  U=function(t,path,d)
    rawset(_get_table_from_path(path,true),"",d)
  end
  D=function(t,path)
  end


mt=getmetatable(data)
	if mt ==nil then
		mt={}
		setmetatable(data,mt)
	end
rawset(mt,"__index",R)
rawset(mt,"__newindex",U)
rawset(mt,"data",{})